home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
CD ROM Paradise Collection 4
/
CD ROM Paradise Collection 4 1995 Nov.iso
/
comms
/
commo60.zip
/
SAMPLES.MAC
< prev
next >
Wrap
Text File
|
1994-04-09
|
11KB
|
276 lines
┌───────────────────────────┐
│ Additional Macro Examples │
└───────────────────────────┘
This file contains a number of sample macros. They will need to be modified
to work for you. Feel free to copy any of them to COMMO.MAC or to an
auxiliary Macro File and to alter them to your own needs. Additions will be
made to this file as time permits. Thanks to the users for their
contributions.
{COMMO} macros can be made to do many amazing things besides just logging into
BBS's and doing mail runs (those are indeed popular functions, however). Some
of the simplest macros demonstrate this capability.
The first two macros are used for reading messages online. They use the grey
plus and minus keys in the lower right corner of the keyboard. The first one
sends a <cr>, then clears the screen. Makes messages a lot easier to read
since each one starts displaying at the top of the screen. The second macro
just sends a <cr>. Nice for keyboards without the extra Enter key.
Message reading macros
───────────────────────────────────────────────────────────────────────────
{:gr+} {send |} {clear} {}
{:gr-} {send |} {}
The next macro is a very important one. It shows the basic method of asking
for a filename and uploading the file. Notice that it first sets the variable
"pr_file" to the upload directory (the variable "uldir"). Then when the INPUt
function executes, the upload directory appears in the input line with a "\".
This macro would execute when Alt-F2 is pressed.
Upload a file using Zmodem
───────────────────────────────────────────────────────────────────────────
{:af2} {setv pr_file,%uldir\}
{input pr_file,Enter a filename:}
{setv pr_alarm}
{call z_send} {}
Start my mail reader after a mail run
───────────────────────────────────────────────────────────────────────────
{:cF3} {exec-ns tse /esqinit} {} SemQWK Reader w/swap
The next two utilities are used in various macros to wait for carrier detect
to drop, then continue dialing (ncr) and to hangup when necessary and continue
dialing (hng):
{:hng}
{pause 3} {hangup y}
{:ncr}
{pause 1} {ifcarrier ncr}
{pause 5} {dial ,} {beep} {}
My generic login macro will login to most popular BBS's. The generic login
subroutine can be called from mail run macros, etc. The GOLOok with the
";passwor" ignores the string "password" in the opening instructions on an
Auntie board. Put {login} in your Dialing Directory macro field.
Generic login macro
───────────────────────────────────────────────────────────────────────────
{:login} {capture y,c:\commo\commo.cap} RBBS, PCBoard, Auntie, etc.
{asci ,} {call gls} {}
Generic login subroutine
───────────────────────────────────────────────────────────────────────────
{:gls} {setlook 60,hng,10,|}
{setv ss_r,~|} {setv ss_yr,~y|}
{:li1} {sslo ss_r,(enter)} {sslo ss_yr,graphics (enter)}
{calo li1,li2,first name} {calo li1,li3,last name}
{sslo ss_yr,is this correct} {golo li1,;passwor}
{lookfor password} {send ~%_pas|} {return}
{:li2} {send ~First|} {return}
{:li3} {send ~Last|} {return}
Here is a macro using variables to do a mail run on a PCBoard with a MarkMail,
Rosemail or QMail door. It will upload a reply packet if one exists, delete
the packet if the upload is successful, then log off. If there is no reply
packet it will download new messages and log off. At the end it will wait for
carrier detect to drop, then continue multi-number dialing.
The subroutines "mail_up" and "mail_dn" can be changed to use any protocol.
The supplied ones use the Internal Xmodem-1k.
Four variables must be set prior to starting this macro. These can be set in
the Dialing Directory entry or in the Linked Macro. For example, to call
Northern Lights and use the QMail door, the Dialing Directory (all on one
line!) would be:
Northern Lights 12/21/91 {1 207 761 4782} {password} {pcbmail} {} ...
... {bbsid,nlbbs} {maildoor,qmail} {nomsgs,sorry, but no} {ptim,2}
This will set the variables and go direct to "pcbmail."
To use the Linked Macro instead you would have a Dialing Directory entry like:
Northern Lights 12/21/91 {1 207 761 4782} {password} {northern} {}
And then have a Linked Macro such as:
{:northern}
{setv bbsid,nlbbs} Set bbs id
{setv maildoor,qmail} Set door type
{setv nomsgs,sorry, but no} Set message to LOOKfor if no messages
{setv ptim,2} Set prompt timer duration
{goto pcbmail} GOTO the mail run macro
PCBoard generic mailrun
───────────────────────────────────────────────────────────────────────────
{:pcbmail}
{setv ss_yr,y|}
{capt y,c:\commo\%bbsid.%_day} {asci ,}
{setl 30,hng} {golo ,pcboard (r)}
{look ^g} {call gls}
{setl 60,hng,%ptim,n|} {look main board command?}
{setl 120,hng} ** turn off prompt timer
{send open %maildoor|} {look %maildoor command}
{ifex %uldir\%bbsid.rep,,mr_dl} ** if no reply, go to download
{:mr_ul}
{send u|} {look %bbsid.rep} {call mail_up}
{look %maildoor command} {ifcon mr_gb,mr_ul} ** if error, try again
{:mr_dl}
{send d|}
{golo mr_gb,%nomsgs} {sslo ss_yr,when done?}
{sslo ss_yr,(y/n)} {look %bbsid.qwk}
{call mail_dn} {look %maildoor command}
{ifcon ,mr_dl} ** if error, try again
{:mr_gb}
{send g|} {goto hng}
{:mail_dn} ** rename .QWK packets
{ifex c:\mail\store\%bbsid.qwk,,mail_dn1}
{exec-n del c:\mail\store\%bbsid.1 > nul}
{exec-n ren c:\mail\store\%bbsid.2 %bbsid.1 > nul}
{exec-n ren c:\mail\store\%bbsid.3 %bbsid.2 > nul}
{exec-n ren c:\mail\store\%bbsid.4 %bbsid.3 > nul}
{exec-n ren c:\mail\store\%bbsid.5 %bbsid.4 > nul}
{exec-n ren c:\mail\store\%bbsid.qwk %bbsid.5 > nul}
{:mail_dn1}
{pause 2}
{setv pr_down,c:\mail\store}
{setv pr_alarm,0}
{call yg_recv} Ymodem-G (change to z_recv for Zmodem)
{ifer 1,,mail_dn2}
{exec-n del c:\mail\store\%bbsid.qwk}
{:mail_dn2}
{return}
{:mail_up}
{setv pr_file,%uldir\%bbsid.rep}
{setv pr_alarm,0}
{call yb_send} Ymodem (change to z_send for Zmodem)
{ifer 1,mail_up1}
{exec-N del %uldir\%bbsid.rep}
{:mail_up1}
{comp %_err,0} {return}
The following macro does a mail run on most WildCat! BBS's with the TomCat!
mail door. The only variables that need to be set are "bbsid" and "ptim."
The "ss_" variables may be set in the Setup File (using the "set" keyword).
** WildCat! generic mailrun
───────────────────────────────────────────────────────────────────────────
{:catmail}
{setv ss_ee,~^[^[}
{setv ss_r,~|}
{setv ss_y,~y}
{setv ss_n,~n}
{setv ss_bday,~mm-dd-yy|} <- your birthdate
{setv ss_pnum,~614-326-1309|} <- your phone number
{setv ss_name,~First Last|} <- your name
{capt y,c:\commo\%bbsid.%_day} {asci ,}
{setl 60,hng}
{sslo ss_ee,twice}
{sslo ss_name,first name}
{look password?} {send %_pas|}
{setl 60,hng,%ptim,|}
{sslo ss_r,[c]ontinue}
{sslo ss_r,[enter]}
{sslo ss_n,choice? [ ]}
{sslo ss_bday,birth date}
{sslo ss_pnum,phone number}
{sslo ss_n,bulletin menu?}
{look main menu} {send ~~m}
{look message menu} {send ~~d}
{setl 120,hng} ** turn off prompt timer
{look tomcat menu}
{:wc_dl}
{pause 1} {send d}
{:wc_dl1}
{sslo ss_y,receive this packet}
{golo wc_dl2,nothing found}
{look %bbsid.qwk}
{call mail_dn}
{look tomcat menu}
{ifcon wc_ul,wc_dl} ** if error, try again
{:wc_dl2}
{look tomcat menu}
{:wc_ul}
{ifex %uldir\%bbsid.rep,,wc_bye} ** if no reply, done
{pause 1} {send u}
{:wc_ul1}
{look %bbsid.rep}
{call mail_up}
{look tomcat menu}
{ifcon ,wc_ul} ** if error, try again
{:wc_bye}
{pause 1} {send g} {goto hng}
Here is my mailrun macro for Babble Underground using the MKQwk mail door
under the Remote Access BBS. The variable "dldir" is used as the disk
directory for downloading the .QWK packet, "uldir" for the .REP.
Babble Underground mail run
───────────────────────────────────────────────────────────────────────────
{:babble}
{setv ss_y,y} {setv ss_n,n}
{setv bbsid,babble-u} ** set board ID
{capt y,c:\commo\%bbsid.%_day} {asci ,}
{setl 60,hng}
{look escape twice} {send ^[^[} ** for Front Door
{look real name?} {send First Last|} <<-- Your name here
{look password:} {send %_pas|}
{sslo ss_n,y/n}
{look command:} {send q} ** open .QWK door
{look command:}
{ifex %uldir\%bbsid.rep,,bu_dl} ** if no reply, go to download
{:bu_ul}
{send u}
{sslo ss_y,yes/no}
{look transfer now}
{call mail_up}
{look command:} {send g~y}
{pause 2} {goto hng}
{:bu_dl}
{setl 600,hng} ** set timeout for download
{send d}
{sslo ss_y,yes/no}
{golo hng,no messages found}
{look transfer now}
{call mail_dn}
{pause 5} {goto hng}
Here is my online quoting macro. It saves the Screen Image File pathname in
the variable "scrsav."
Then it sets the Screen Image File to a temporary file and goes into
Scrollback. In Scrollback I write a block of text to disk (the quote), then
exit. My editor (QEdit) is then executed on the temporary file. I do what I
need there to dress up the quote (like add quoting marks, etc.). When I save
the file and exit the editor, the macro does an ASCII Upload of the file and
deletes it.
Then the Screen Image pathname is restored to what it was before.
Quoting macro
───────────────────────────────────────────────────────────────────────────
{:cf6} {setv scrsav,%_scr} {screen n,%dldir\temp} {scroll}
{exec-N q %_scr} {asci %_scr}
{exec-N del %_scr} {screen n,%scrsav} {}
- end -